package com.huixh.train.business.service;

import com.huixh.train.business.domain.DailyTrainCarriage;
import com.huixh.train.business.req.DailyTrainCarriageQueryReq;
import com.huixh.train.business.req.DailyTrainCarriageSaveReq;
import com.huixh.train.business.resp.DailyTrainCarriageQueryResp;
import com.huixh.train.common.resp.PageResult;

import java.util.Date;
import java.util.List;

/**
 * @author huixh
 */
public interface DailyTrainCarriageService {
    /**
     * 保存
     *
     * @param dailyTrainCarriageSaveReq 保存参数
     */
    void save(DailyTrainCarriageSaveReq dailyTrainCarriageSaveReq);

    /**
     * 查询列表
     *
     * @param dailyTrainCarriageQueryReq 查询参数
     * @return list
     */
    PageResult<List<DailyTrainCarriageQueryResp>> queryList(DailyTrainCarriageQueryReq dailyTrainCarriageQueryReq);

    /**
     * 删除
     *
     * @param id id
     */
    void delete(Long id);

    /**
     * 根据车次和日期生成当日列车车次信息
     * @param trainCode
     * @param date
     */
    void genDailyTrainCarriage(String trainCode, Date date);

    /**
     * 根据车次、日期、座位类型查询当日列车车次信息
     * @param seatType 座位类型
     * @param date 日期
     * @param trainCode 车次
     * @return
     */
    List<DailyTrainCarriage> selectBySeatType(String seatType, Date date, String trainCode);
}